#ifndef PARTICLECONTACT_H_
#define PARTICLECONTACT_H_

#include "../ParticleComponent.h"

namespace Pantsu {

	class ParticleContact {

	public:
		ParticleContact();
		~ParticleContact();

	protected:
		void  ResolveCollision( float i_deltaTime );
		float CalculateSeparatingVelocity() const;

	private:
		void ResolveVelocity( float i_deltaTime );
		void ResolveInterpenetration( float i_deltaTime );
	private:
		/* Hold the pointer to Two Collided Particles */
		ParticleComponent *m_pContactParticles[ 2 ];
		float              m_fRestitution;
		/* Hold the Contact Normal from the first particle perspective */
		Vector3			   m_v3ContactNormal; 
	};
}

#endif